Autogenerated HTML docs for v2.9.2-664-ga0a18 
diff --git a/RelNotes/2.10.0.txt b/RelNotes/2.10.0.txt index a9fb073..8abb678 100644 --- a/RelNotes/2.10.0.txt +++ b/RelNotes/2.10.0.txt 
@@ -105,6 +105,11 @@  * "git push" and "git clone" learned to give better progress meters  to the end user who is waiting on the terminal.   + * An entry "git log --decorate" for the tip of the current branch is + shown as "HEAD -> name" (where "name" is the name of the branch); + paint the arrow in the same color as "HEAD", not in the color for + commits. +    Performance, Internal Implementation, Development Support etc.   @@ -246,6 +251,27 @@  repository. The internal mechanism learned to grow the window size  more aggressively when working with the "smart http" transport.   + * Tests for "git svn" have been taught to reuse the lib-httpd test + infrastructure when testing the subversion integration that + interacts with subversion repositories served over the http:// + protocol. + (merge a8a5d25 ew/git-svn-http-tests later to maint). + + * "git pack-objects" has a few options that tell it not to pack + objects found in certain packfiles, which require it to scan .idx + files of all available packs. The codepaths involved in these + operations have been optimized for a common case of not having any + non-local pack and/or any .kept pack. + + * The t3700 test about "add --chmod=-x" have been made a bit more + robust and generally cleaned up. + (merge 766cdc4 ib/t3700-add-chmod-x-updates later to maint). + + * The build procedure learned PAGER_ENV knob that lists what default + environment variable settings to export for popular pagers. This + mechanism is used to tweak the default settings to MORE on FreeBSD. + (merge 995bc22 ew/build-time-pager-tweaks later to maint). +    Also contains various documentation updates and code clean-ups.   @@ -416,16 +442,13 @@  "file" did not appear in the current commit. When "file" was  created by renaming an existing file (but the change has not been  committed), this restriction was unnecessarily tight. - (merge c66b470 mh/blame-worktree later to maint).    * "git add -N dir/file && git write-tree" produced an incorrect tree  when there are other paths in the same directory that sorts after  "file". - (merge 6d6a782 nd/cache-tree-ita later to maint).    * "git fetch http://user:pass@host/repo..." scrubbed the userinfo  part, but "git push" didn't. - (merge 68f3c07 jk/push-scrub-url later to maint).    * "git merge" with renormalization did not work well with  merge-recursive, due to "safer crlf" conversion kicking in when it @@ -438,29 +461,24 @@    * An age old bug that caused "git diff --ignore-space-at-eol"  misbehave has been fixed. - (merge 044fb19 js/ignore-space-at-eol later to maint).    * "git notes merge" had a code to see if a path exists (and fails if  it does) and then open the path for writing (when it doesn't).  Replace it with open with O_EXCL. - (merge deb9c15 rs/notes-merge-no-toctou later to maint).    * "git pack-objects" and "git index-pack" mostly operate with off_t  when talking about the offset of objects in a packfile, but there  were a handful of places that used "unsigned long" to hold that  value, leading to an unintended truncation. - (merge ec9d224 nd/pack-ofs-4gb-limit later to maint).    * Recent update to "git daemon" tries to enable the socket-level  KEEPALIVE, but when it is spawned via inetd, the standard input  file descriptor may not necessarily be connected to a socket.  Suppress an ENOTSOCK error from setsockopt(). - (merge fab6027 ew/daemon-socket-keepalive later to maint).    * Recent FreeBSD stopped making perl available at /usr/bin/perl;  switch the default the built-in path to /usr/local/bin/perl on not  too ancient FreeBSD releases. - (merge 259f22a ew/find-perl-on-freebsd-in-local later to maint).    * "git commit --help" said "--no-verify" is only about skipping the  pre-commit hook, and failed to say that it also skipped the @@ -495,16 +513,43 @@  designed well.  (merge 8465541 jc/grep-commandline-vs-configuration later to maint).   + * Windows port was failing some tests in t4130, due to the lack of + inum in the returned values by its lstat(2) emulation. + (merge 54956df js/t4130-rename-without-ino later to maint). + + * The reflog output format is documented better, and a new format + --date=unix to report the seconds-since-epoch (without timezone) + has been added. + (merge 442f6fd jk/reflog-date later to maint). + + * "git difftool <paths>..." started in a subdirectory failed to + interpret the paths relative to that directory, which has been + fixed. + (merge 32b8c58 jk/difftool-in-subdir later to maint). + + * The characters in the label shown for tags/refs for commits in + "gitweb" output are now properly escaped for proper HTML output. + (merge 77947bb ab/gitweb-link-html-escape later to maint). + + * FreeBSD can lie when asked mtime of a directory, which made the + untracked cache code to fall back to a slow-path, which in turn + caused tests in t7063 to fail because it wanted to verify the + behaviour of the fast-path. + (merge 6b7728d nd/fbsd-lazy-mtime later to maint). + + * Squelch compiler warnings for netmalloc (in compat/) library. + (merge c6c9e18 js/nedmalloc-gcc6-warnings later to maint). + + * A small memory leak in the command line parsing of "git blame" + has been plugged. + + * The API documentation for hashmap was unclear if hashmap_entry + can be safely discarded without any other consideration. State + that it is safe to do so. + (merge 54ba5a1 jc/hashmap-doc-init later to maint). +  * Other minor clean-ups and documentation updates - (merge e51b0df pb/commit-editmsg-path later to maint). - (merge b333d0d jk/send-pack-stdio later to maint). - (merge fcf0fe9 lf/sideband-returns-void later to maint). - (merge c2691e2 ah/unpack-trees-advice-messages later to maint). - (merge c61b2af lf/recv-sideband-cleanup later to maint). - (merge 31471ba rs/use-strbuf-addbuf later to maint). - (merge 503e224 nd/test-helpers later to maint). - (merge 16726cf jc/doc-diff-filter-exclude later to maint). - (merge fd2e7da rs/worktree-use-strbuf-absolute-path later to maint). - (merge 406621f sb/submodule-deinit-all later to maint). - (merge 55cbe18 rs/submodule-config-code-cleanup later to maint). - (merge 280abfd sb/pack-protocol-doc-nak later to maint). + (merge 9d1ca1d jk/t4205-cleanup later to maint). + (merge 5f072e0 cp/completion-clone-recurse-submodules later to maint). + (merge bc57b9c rs/use-strbuf-addstr later to maint). + (merge 52db4b0 jh/clean-smudge-f-doc later to maint). 
diff --git a/RelNotes/2.9.3.txt b/RelNotes/2.9.3.txt index 28003a5..bdcd446 100644 --- a/RelNotes/2.9.3.txt +++ b/RelNotes/2.9.3.txt 
@@ -55,4 +55,38 @@  * A test that unconditionally used "mktemp" learned that the command  is not necessarily available everywhere.   + * "git blame file" allowed the lineage of lines in the uncommitted, + unadded contents of "file" to be inspected, but it refused when + "file" did not appear in the current commit. When "file" was + created by renaming an existing file (but the change has not been + committed), this restriction was unnecessarily tight. + + * "git add -N dir/file && git write-tree" produced an incorrect tree + when there are other paths in the same directory that sorts after + "file". + + * "git fetch http://user:pass@host/repo..." scrubbed the userinfo + part, but "git push" didn't. + + * An age old bug that caused "git diff --ignore-space-at-eol" + misbehave has been fixed. + + * "git notes merge" had a code to see if a path exists (and fails if + it does) and then open the path for writing (when it doesn't). + Replace it with open with O_EXCL. + + * "git pack-objects" and "git index-pack" mostly operate with off_t + when talking about the offset of objects in a packfile, but there + were a handful of places that used "unsigned long" to hold that + value, leading to an unintended truncation. + + * Recent update to "git daemon" tries to enable the socket-level + KEEPALIVE, but when it is spawned via inetd, the standard input + file descriptor may not necessarily be connected to a socket. + Suppress an ENOTSOCK error from setsockopt(). + + * Recent FreeBSD stopped making perl available at /usr/bin/perl; + switch the default the built-in path to /usr/local/bin/perl on not + too ancient FreeBSD releases. +  Also contains minor documentation updates and code clean-ups. 
diff --git a/git-diff-tree.html b/git-diff-tree.html index 9736d98..3d02559 100644 --- a/git-diff-tree.html +++ b/git-diff-tree.html 
@@ -2304,12 +2304,18 @@  </li>   <li>   <p>  -<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code>  +<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> or  + <code>refs/stash@{2 minutes ago</code>}; the format follows the rules described  + for the <code>-g</code> option. The portion before the <code>@</code> is the refname as  + given on the command line (so <code>git log -g refs/heads/master</code> would  + yield <code>refs/heads/master@{0}</code>).   </p>   </li>   <li>   <p>  -<em>%gd</em>: shortened reflog selector, e.g., <code>stash@{1}</code>  +<em>%gd</em>: shortened reflog selector; same as <code>%gD</code>, but the refname  + portion is shortened for human readability (so <code>refs/heads/master</code>  + becomes just <code>master</code>).   </p>   </li>   <li>  
diff --git a/git-log.html b/git-log.html index 7bff407..140f6f8 100644 --- a/git-log.html +++ b/git-log.html 
@@ -1341,10 +1341,39 @@  </p>   <div class="paragraph"><p>With <code>--pretty</code> format other than <code>oneline</code> (for obvious reasons),   this causes the output to have two extra lines of information  -taken from the reflog. By default, <em>commit@{Nth}</em> notation is  -used in the output. When the starting commit is specified as  -<em>commit@{now}</em>, output also uses <em>commit@{timestamp}</em> notation  -instead. Under <code>--pretty=oneline</code>, the commit message is  +taken from the reflog. The reflog designator in the output may be shown  +as <code>ref@{Nth}</code> (where <code>Nth</code> is the reverse-chronological index in the  +reflog) or as <code>ref@{timestamp}</code> (with the timestamp for that entry),  +depending on a few rules:</p></div>  +<div class="openblock">  +<div class="content">  +<div class="olist arabic"><ol class="arabic">  +<li>  +<p>  +If the starting point is specified as <code>ref@{Nth}</code>, show the index  +format.  +</p>  +</li>  +<li>  +<p>  +If the starting point was specified as <code>ref@{now}</code>, show the  +timestamp format.  +</p>  +</li>  +<li>  +<p>  +If neither was used, but <code>--date</code> was given on the command line, show  +the timestamp in the format requested by <code>--date</code>.  +</p>  +</li>  +<li>  +<p>  +Otherwise, show the index format.  +</p>  +</li>  +</ol></div>  +</div></div>  +<div class="paragraph"><p>Under <code>--pretty=oneline</code>, the commit message is   prefixed with this information on the same line.   This option cannot be combined with <code>--reverse</code>.   See also <a href="git-reflog.html">git-reflog(1)</a>.</p></div>  @@ -1997,8 +2026,8 @@  <code>iso-local</code>), the user&#8217;s local time zone is used instead.   </p>   <div class="paragraph"><p><code>--date=relative</code> shows dates relative to the current time,  -e.g. &#8220;2 hours ago&#8221;. The <code>-local</code> option cannot be used with  -<code>--raw</code> or <code>--relative</code>.</p></div>  +e.g. &#8220;2 hours ago&#8221;. The <code>-local</code> option has no effect for  +<code>--date=relative</code>.</p></div>   <div class="paragraph"><p><code>--date=local</code> is an alias for <code>--date=default-local</code>.</p></div>   <div class="paragraph"><p><code>--date=iso</code> (or <code>--date=iso8601</code>) shows timestamps in a ISO 8601-like format.   The differences to the strict ISO 8601 format are:</p></div>  @@ -2024,7 +2053,17 @@  <div class="paragraph"><p><code>--date=rfc</code> (or <code>--date=rfc2822</code>) shows timestamps in RFC 2822   format, often found in email messages.</p></div>   <div class="paragraph"><p><code>--date=short</code> shows only the date, but not the time, in <code>YYYY-MM-DD</code> format.</p></div>  -<div class="paragraph"><p><code>--date=raw</code> shows the date in the internal raw Git format <code>%s %z</code> format.</p></div>  +<div class="paragraph"><p><code>--date=raw</code> shows the date as seconds since the epoch (1970-01-01  +00:00:00 UTC), followed by a space, and then the timezone as an offset  +from UTC (a <code>+</code> or <code>-</code> with four digits; the first two are hours, and  +the second two are minutes). I.e., as if the timestamp were formatted  +with <code>strftime("%s %z")</code>).  +Note that the <code>-local</code> option does not affect the seconds-since-epoch  +value (which is always measured in UTC), but does switch the accompanying  +timezone value.</p></div>  +<div class="paragraph"><p><code>--date=unix</code> shows the date as a Unix epoch timestamp (seconds since  +1970). As with <code>--raw</code>, this is always in UTC and therefore <code>-local</code>  +has no effect.</p></div>   <div class="paragraph"><p><code>--date=format:...</code> feeds the format <code>...</code> to your system <code>strftime</code>.   Use <code>--date=format:%c</code> to show the date in your system locale&#8217;s   preferred format. See the <code>strftime</code> manual for a complete list of  @@ -2532,12 +2571,18 @@  </li>   <li>   <p>  -<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code>  +<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> or  + <code>refs/stash@{2 minutes ago</code>}; the format follows the rules described  + for the <code>-g</code> option. The portion before the <code>@</code> is the refname as  + given on the command line (so <code>git log -g refs/heads/master</code> would  + yield <code>refs/heads/master@{0}</code>).   </p>   </li>   <li>   <p>  -<em>%gd</em>: shortened reflog selector, e.g., <code>stash@{1}</code>  +<em>%gd</em>: shortened reflog selector; same as <code>%gD</code>, but the refname  + portion is shortened for human readability (so <code>refs/heads/master</code>  + becomes just <code>master</code>).   </p>   </li>   <li>  
diff --git a/git-rev-list.html b/git-rev-list.html index 994f8fc..c6cb249 100644 --- a/git-rev-list.html +++ b/git-rev-list.html 
@@ -1284,10 +1284,39 @@  </p>   <div class="paragraph"><p>With <code>--pretty</code> format other than <code>oneline</code> (for obvious reasons),   this causes the output to have two extra lines of information  -taken from the reflog. By default, <em>commit@{Nth}</em> notation is  -used in the output. When the starting commit is specified as  -<em>commit@{now}</em>, output also uses <em>commit@{timestamp}</em> notation  -instead. Under <code>--pretty=oneline</code>, the commit message is  +taken from the reflog. The reflog designator in the output may be shown  +as <code>ref@{Nth}</code> (where <code>Nth</code> is the reverse-chronological index in the  +reflog) or as <code>ref@{timestamp}</code> (with the timestamp for that entry),  +depending on a few rules:</p></div>  +<div class="openblock">  +<div class="content">  +<div class="olist arabic"><ol class="arabic">  +<li>  +<p>  +If the starting point is specified as <code>ref@{Nth}</code>, show the index  +format.  +</p>  +</li>  +<li>  +<p>  +If the starting point was specified as <code>ref@{now}</code>, show the  +timestamp format.  +</p>  +</li>  +<li>  +<p>  +If neither was used, but <code>--date</code> was given on the command line, show  +the timestamp in the format requested by <code>--date</code>.  +</p>  +</li>  +<li>  +<p>  +Otherwise, show the index format.  +</p>  +</li>  +</ol></div>  +</div></div>  +<div class="paragraph"><p>Under <code>--pretty=oneline</code>, the commit message is   prefixed with this information on the same line.   This option cannot be combined with <code>--reverse</code>.   See also <a href="git-reflog.html">git-reflog(1)</a>.</p></div>  @@ -2034,8 +2063,8 @@  <code>iso-local</code>), the user&#8217;s local time zone is used instead.   </p>   <div class="paragraph"><p><code>--date=relative</code> shows dates relative to the current time,  -e.g. &#8220;2 hours ago&#8221;. The <code>-local</code> option cannot be used with  -<code>--raw</code> or <code>--relative</code>.</p></div>  +e.g. &#8220;2 hours ago&#8221;. The <code>-local</code> option has no effect for  +<code>--date=relative</code>.</p></div>   <div class="paragraph"><p><code>--date=local</code> is an alias for <code>--date=default-local</code>.</p></div>   <div class="paragraph"><p><code>--date=iso</code> (or <code>--date=iso8601</code>) shows timestamps in a ISO 8601-like format.   The differences to the strict ISO 8601 format are:</p></div>  @@ -2061,7 +2090,17 @@  <div class="paragraph"><p><code>--date=rfc</code> (or <code>--date=rfc2822</code>) shows timestamps in RFC 2822   format, often found in email messages.</p></div>   <div class="paragraph"><p><code>--date=short</code> shows only the date, but not the time, in <code>YYYY-MM-DD</code> format.</p></div>  -<div class="paragraph"><p><code>--date=raw</code> shows the date in the internal raw Git format <code>%s %z</code> format.</p></div>  +<div class="paragraph"><p><code>--date=raw</code> shows the date as seconds since the epoch (1970-01-01  +00:00:00 UTC), followed by a space, and then the timezone as an offset  +from UTC (a <code>+</code> or <code>-</code> with four digits; the first two are hours, and  +the second two are minutes). I.e., as if the timestamp were formatted  +with <code>strftime("%s %z")</code>).  +Note that the <code>-local</code> option does not affect the seconds-since-epoch  +value (which is always measured in UTC), but does switch the accompanying  +timezone value.</p></div>  +<div class="paragraph"><p><code>--date=unix</code> shows the date as a Unix epoch timestamp (seconds since  +1970). As with <code>--raw</code>, this is always in UTC and therefore <code>-local</code>  +has no effect.</p></div>   <div class="paragraph"><p><code>--date=format:...</code> feeds the format <code>...</code> to your system <code>strftime</code>.   Use <code>--date=format:%c</code> to show the date in your system locale&#8217;s   preferred format. See the <code>strftime</code> manual for a complete list of  @@ -2535,12 +2574,18 @@  </li>   <li>   <p>  -<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code>  +<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> or  + <code>refs/stash@{2 minutes ago</code>}; the format follows the rules described  + for the <code>-g</code> option. The portion before the <code>@</code> is the refname as  + given on the command line (so <code>git log -g refs/heads/master</code> would  + yield <code>refs/heads/master@{0}</code>).   </p>   </li>   <li>   <p>  -<em>%gd</em>: shortened reflog selector, e.g., <code>stash@{1}</code>  +<em>%gd</em>: shortened reflog selector; same as <code>%gD</code>, but the refname  + portion is shortened for human readability (so <code>refs/heads/master</code>  + becomes just <code>master</code>).   </p>   </li>   <li>  
diff --git a/git-show.html b/git-show.html index 1cf64a8..cc7f26a 100644 --- a/git-show.html +++ b/git-show.html 
@@ -1277,12 +1277,18 @@  </li>   <li>   <p>  -<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code>  +<em>%gD</em>: reflog selector, e.g., <code>refs/stash@{1}</code> or  + <code>refs/stash@{2 minutes ago</code>}; the format follows the rules described  + for the <code>-g</code> option. The portion before the <code>@</code> is the refname as  + given on the command line (so <code>git log -g refs/heads/master</code> would  + yield <code>refs/heads/master@{0}</code>).   </p>   </li>   <li>   <p>  -<em>%gd</em>: shortened reflog selector, e.g., <code>stash@{1}</code>  +<em>%gd</em>: shortened reflog selector; same as <code>%gD</code>, but the refname  + portion is shortened for human readability (so <code>refs/heads/master</code>  + becomes just <code>master</code>).   </p>   </li>   <li>  
diff --git a/gitattributes.html b/gitattributes.html index a703e03..828aeac 100644 --- a/gitattributes.html +++ b/gitattributes.html 
@@ -1141,6 +1141,11 @@  clean = git-p4-filter --clean %f   smudge = git-p4-filter --smudge %f</code></pre>   </div></div>  +<div class="paragraph"><p>Note that "%f" is the name of the path that is being worked on. Depending  +on the version that is being filtered, the corresponding file on disk may  +not exist, or may have different contents. So, smudge and clean commands  +should not try to access the file on disk, but only act as filters on the  +content provided to them on standard input.</p></div>   </div>   <div class="sect3">   <h4 id="_interaction_between_checkin_checkout_attributes">Interaction between checkin/checkout attributes</h4>  @@ -1870,7 +1875,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2016-07-25 15:49:08 PDT  +Last updated 2016-08-08 15:26:21 PDT   </div>   </div>   </body>  
diff --git a/gitattributes.txt b/gitattributes.txt index b40068b..34db3e2 100644 --- a/gitattributes.txt +++ b/gitattributes.txt 
@@ -377,6 +377,11 @@ 	smudge = git-p4-filter --smudge %f  ------------------------   +Note that "%f" is the name of the path that is being worked on. Depending +on the version that is being filtered, the corresponding file on disk may +not exist, or may have different contents. So, smudge and clean commands +should not try to access the file on disk, but only act as filters on the +content provided to them on standard input.    Interaction between checkin/checkout attributes  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 
diff --git a/gitmodules.html b/gitmodules.html index f663fa4..afbfbee 100644 --- a/gitmodules.html +++ b/gitmodules.html 
@@ -849,6 +849,16 @@  affected by this setting.   </p>   </dd>  +<dt class="hdlist1">  +submodule.&lt;name&gt;.shallow  +</dt>  +<dd>  +<p>  + When set to true, a clone of this submodule will be performed as a  + shallow clone unless the user explicitely asks for a non-shallow  + clone.  +</p>  +</dd>   </dl></div>   </div>   </div>  @@ -889,7 +899,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2016-07-13 14:58:50 PDT  +Last updated 2016-08-08 15:26:21 PDT   </div>   </div>   </body>  
diff --git a/gitmodules.txt b/gitmodules.txt index 07cdd73..0849d28 100644 --- a/gitmodules.txt +++ b/gitmodules.txt 
@@ -79,6 +79,11 @@ 	"--ignore-submodule" option. The 'git submodule' commands are not 	affected by this setting.   +submodule.<name>.shallow:: +	When set to true, a clone of this submodule will be performed as a +	shallow clone unless the user explicitely asks for a non-shallow +	clone. +    EXAMPLES  -------- 
diff --git a/pretty-formats.txt b/pretty-formats.txt index 29b19b9..b95d67e 100644 --- a/pretty-formats.txt +++ b/pretty-formats.txt 
@@ -147,8 +147,14 @@  "U" for a good signature with unknown validity and "N" for no signature  - '%GS': show the name of the signer for a signed commit  - '%GK': show the key used to sign a signed commit -- '%gD': reflog selector, e.g., `refs/stash@{1}` -- '%gd': shortened reflog selector, e.g., `stash@{1}` +- '%gD': reflog selector, e.g., `refs/stash@{1}` or + `refs/stash@{2 minutes ago`}; the format follows the rules described + for the `-g` option. The portion before the `@` is the refname as + given on the command line (so `git log -g refs/heads/master` would + yield `refs/heads/master@{0}`). +- '%gd': shortened reflog selector; same as `%gD`, but the refname + portion is shortened for human readability (so `refs/heads/master` + becomes just `master`).  - '%gn': reflog identity name  - '%gN': reflog identity name (respecting .mailmap, see  linkgit:git-shortlog[1] or linkgit:git-blame[1]) 
diff --git a/rev-list-options.txt b/rev-list-options.txt index f39cb6d..a779c9d 100644 --- a/rev-list-options.txt +++ b/rev-list-options.txt 
@@ -252,10 +252,25 @@  +  With `--pretty` format other than `oneline` (for obvious reasons),  this causes the output to have two extra lines of information -taken from the reflog. By default, 'commit@\{Nth}' notation is -used in the output. When the starting commit is specified as -'commit@\{now}', output also uses 'commit@\{timestamp}' notation -instead. Under `--pretty=oneline`, the commit message is +taken from the reflog. The reflog designator in the output may be shown +as `ref@{Nth}` (where `Nth` is the reverse-chronological index in the +reflog) or as `ref@{timestamp}` (with the timestamp for that entry), +depending on a few rules: ++ +-- +1. If the starting point is specified as `ref@{Nth}`, show the index +format. ++ +2. If the starting point was specified as `ref@{now}`, show the +timestamp format. ++ +3. If neither was used, but `--date` was given on the command line, show +the timestamp in the format requested by `--date`. ++ +4. Otherwise, show the index format. +-- ++ +Under `--pretty=oneline`, the commit message is  prefixed with this information on the same line.  This option cannot be combined with `--reverse`.  See also linkgit:git-reflog[1]. @@ -714,8 +729,8 @@ 	`iso-local`), the user's local time zone is used instead.  +  `--date=relative` shows dates relative to the current time, -e.g. ``2 hours ago''. The `-local` option cannot be used with -`--raw` or `--relative`. +e.g. ``2 hours ago''. The `-local` option has no effect for +`--date=relative`.  +  `--date=local` is an alias for `--date=default-local`.  + @@ -735,7 +750,18 @@  +  `--date=short` shows only the date, but not the time, in `YYYY-MM-DD` format.  + -`--date=raw` shows the date in the internal raw Git format `%s %z` format. +`--date=raw` shows the date as seconds since the epoch (1970-01-01 +00:00:00 UTC), followed by a space, and then the timezone as an offset +from UTC (a `+` or `-` with four digits; the first two are hours, and +the second two are minutes). I.e., as if the timestamp were formatted +with `strftime("%s %z")`). +Note that the `-local` option does not affect the seconds-since-epoch +value (which is always measured in UTC), but does switch the accompanying +timezone value. ++ +`--date=unix` shows the date as a Unix epoch timestamp (seconds since +1970). As with `--raw`, this is always in UTC and therefore `-local` +has no effect.  +  `--date=format:...` feeds the format `...` to your system `strftime`.  Use `--date=format:%c` to show the date in your system locale's 
diff --git a/technical/api-hashmap.html b/technical/api-hashmap.html index eb80c77..2196d94 100644 --- a/technical/api-hashmap.html +++ b/technical/api-hashmap.html 
@@ -879,6 +879,10 @@  </p>   <div class="paragraph"><p><code>entry</code> points to the entry to initialize.</p></div>   <div class="paragraph"><p><code>hash</code> is the hash code of the entry.</p></div>  +<div class="paragraph"><p>The hashmap_entry structure does not hold references to external resources,  +and it is safe to just discard it once you are done with it (i.e. if  +your structure was allocated with xmalloc(), you can just free(3) it,  +and if it is on stack, you can just let it go out of scope).</p></div>   </dd>   <dt class="hdlist1">   <code>void *hashmap_get(const struct hashmap *map, const void *key, const void *keydata)</code>  @@ -1077,7 +1081,7 @@  <div id="footnotes"><hr /></div>   <div id="footer">   <div id="footer-text">  -Last updated 2014-07-22 12:39:19 PDT  +Last updated 2016-08-08 15:26:21 PDT   </div>   </div>   </body>  
diff --git a/technical/api-hashmap.txt b/technical/api-hashmap.txt index ad7a5bd..28f5a8b 100644 --- a/technical/api-hashmap.txt +++ b/technical/api-hashmap.txt 
@@ -104,6 +104,11 @@  `entry` points to the entry to initialize.  +  `hash` is the hash code of the entry. ++ +The hashmap_entry structure does not hold references to external resources, +and it is safe to just discard it once you are done with it (i.e. if +your structure was allocated with xmalloc(), you can just free(3) it, +and if it is on stack, you can just let it go out of scope).    `void *hashmap_get(const struct hashmap *map, const void *key, const void *keydata)`::